home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / disk-tools / cd-tools / fixcdid / fixcdid.rexx < prev   
Encoding:
OS/2 REXX Batch file  |  1996-06-16  |  2.4 KB  |  86 lines

  1. /*********************************************************
  2. **                                                      **
  3. **      FixCDID.rexx V1.1 -- Fixes a CD ID directory    **
  4. **                                                      **
  5. **********************************************************
  6. **
  7. **      (C) 1996 Richard Körber -- All Rights Reserved
  8. **      E-Mail: rkoerber@tfh.dssd.sub.org
  9. **
  10. *********************************************************/
  11.  
  12. Options Results
  13. Options FailAt 6
  14.  
  15. Shell
  16. Say "-- FixCDID V1.1 -- (C) 1996 Richard Körber"
  17. Say
  18. Say "Getting file list, please be patient..."
  19. 'C:list NOHEAD QUICK TO t:idlist'
  20. Say
  21. counter = 0
  22.  
  23. IF Open('list','t:idlist','read') THEN
  24. DO
  25.   DO FOREVER
  26.     filename = ReadLn('list')
  27.     IF ~Eof('list') THEN
  28.     DO
  29.       uppername = Upper(filename)
  30.       IF Left(uppername,2) = 'ID' THEN
  31.       DO
  32.         IF uppername ~= filename THEN
  33.           'C:rename QUIET "'||filename||'" AS "'||uppername||'"'
  34.         IF Open('file',uppername,'read') THEN
  35.         DO
  36.           pname  = Compress(ReadLn('file'),'"')
  37.           cdname = pname||': '||Compress(ReadLn('file'),'"')
  38.           CALL Close('file')
  39.           IF uppername = Upper(pname) THEN
  40.           DO
  41.             IF Open('file',uppername,'read') THEN
  42.             DO
  43.               IF Open('newf','t:newf','write') THEN
  44.               DO
  45.                 CALL ReadLn('file')
  46.                 title = ReadLn('file')
  47.                 PARSE VAR title pname ' - ' cdname
  48.                 CALL WriteLn('newf',pname)
  49.                 CALL WriteLn('newf',cdname)
  50.                 DO FOREVER
  51.                   track = ReadLn('file')
  52.                   IF ~EOF('file')
  53.                     THEN CALL WriteLn('newf',track)
  54.                     ELSE BREAK
  55.                 END
  56.                 CALL Close('file')
  57.                 CALL Close('newf')
  58.                 'C:copy QUIET "t:newf" TO "'||uppername||'"'
  59.                 'C:delete QUIET "t:newf"'
  60.                 pname  = Compress(pname,'"')
  61.                 cdname = pname||': '||Compress(cdname,'"')
  62.               END
  63.             END
  64.           END
  65.           cdname = DelStr(cdname,80)
  66.           Say uppername||': '||cdname
  67.           'C:filenote QUIET "'||uppername||'" COMMENT "'||cdname||'"'
  68.           counter = counter + 1
  69.         END
  70.       END
  71.       ELSE Say '** WARNING: '||filename||' is NOT an ID file!'
  72.     END
  73.     ELSE BREAK
  74.   END
  75.   CALL Close('list')
  76. END
  77.  
  78. Say
  79. Say "Number of CD entries:" counter
  80.  
  81. 'C:delete QUIET t:idlist'
  82. Shell
  83. Exit
  84.  
  85.  
  86.